﻿//=============================================================================
//
// bullet [bullet.h]
//
//=============================================================================
#ifndef _BULLET_H_
#define _BULLET_H_

#include "main.h"

//*****************************************************************************
// マクロ定義
//*****************************************************************************
#define	BULLET_MAX					( 256 )						// 玩家の最大数


//////////////////////
// 贴图的种类名称
//////////////////////
enum
{
	BULLET_01 = 0,		// タイプ０
	BULLET_02,
	BULLET_TYPE_MAX
};

//////////////////////
// 玩家当前的状态
//////////////////////
enum
{
	BULLET_UP = 0,		// タイプ０
	BULLET_UP_LEFT,
	BULLET_UP_RIGHT,

	BULLET_DOWN,
	BULLET_DOWN_LEFT,
	BULLET_DOWN_RIGHT,

	BULLET_LEFT,
	BULLET_LEFT_UP,
	BULLET_LEFT_DOWN,

	BULLET_RIGHT,
	BULLET_RIGHT_UP,
	BULLET_RIGHT_DOWN,

	BULLET_ANIM_MAX
};



//*************************************
// 構造体宣言
//*************************************

typedef struct
{
	D3DXVECTOR3 pos;			// 位置
	D3DXVECTOR3 move;			// 移动速度
	int type;					// 类型
	int animStatus;				// 当前动画状态
	int status;					// 当前状态
	int belongTo;				// 归属
	bool bUse;					// 是否被使用
	int patternAnim;			// 每颗子弹自身动画帧
	float fRadius;				// 半径
	bool bHit;					// 是否被其他子弹击中

	/* test */
	D3DXVECTOR3 circleO;			// yuanxin
	float degree;
	float circleR;
}BULLET;


//*****************************************************************************
// プロトタイプ宣言
//*****************************************************************************
HRESULT InitBullet(LPDIRECT3DDEVICE9 pDevice);
void UninitBullet(void);
void UpdateBullet(void);
void DrawBullet(LPDIRECT3DDEVICE9 pDevice);


void SetBullet( D3DXVECTOR3 pos,						// 位置
				D3DXVECTOR3 move,						// 位移
				int nType,								// 类型
				int belongTo );							// 属于哪个玩家

BULLET *GetBulletPos(void);

bool *GetIsBulletUp(void);
bool *GetIsBulletDown(void);
bool *GetIsBulletLeft(void);
bool *GetIsBulletRight(void);

#endif
